package Message.Game
{
    import Framework.MQ.*;
    import Framework.Serialize.*;
    import Message.Public.*;
    import flash.utils.*;

    public class SAcupointInfo extends Object implements IMessageBase
    {
        public var acupoint:int;
        public var step:int;
        public var leftTime:int;
        public var breakThrough:int;
        public var roots:Dictionary;
        public var savvys:Dictionary;
        public var attributes:Dictionary;
        public const _type:int = 12086;
        public static var _regist:SAcupointInfo = new SAcupointInfo(true);

        public function SAcupointInfo(param1:Boolean = false)
        {
            if (param1)
            {
                MessageManager.instance().regist(this);
            }
            
        }

        public function getType() : int
        {
            return this._type;
        }

        public function clone() : IMessageBase
        {
            return new SAcupointInfo();
        }

        public function __write(param1:SerializeStream) : void
        {
            param1.writeInt(this.acupoint);
            param1.writeInt(this.step);
            param1.writeInt(this.leftTime);
            param1.writeInt(this.breakThrough);
            DictIntIntHelper.write(param1, this.roots);
            DictIntIntHelper.write(param1, this.savvys);
            MapAcupointAttributesHelper.write(param1, this.attributes);
            
        }

        public function __read(param1:SerializeStream) : void
        {
            this.acupoint = param1.readInt();
            this.step = param1.readInt();
            this.leftTime = param1.readInt();
            this.breakThrough = param1.readInt();
            this.roots = DictIntIntHelper.read(param1);
            this.savvys = DictIntIntHelper.read(param1);
            this.attributes = MapAcupointAttributesHelper.read(param1);
            
        }

    }
}
